# pingora-proxy
Programmable HTTP proxy built on top of [pingora_core].
# Features
- HTTP/1.x and HTTP/2 for both downstream and upstream
- Connection pooling
- TLSv1.3, mutual TLS, customizable CA
- Request/Response scanning, modification or rejection
- Dynamic upstream selection
- Configurable retry and failover
- Fully programmable and customizable at any stage of a HTTP request
# How to use
Users of this crate defines their proxy by implementing [ProxyHttp] trait, which contains the
callbacks to be invoked at each stage of a HTTP request.
Then the service can be passed into [`http_proxy_service()`] for a [pingora_core::server::Server] to
run it.
See `examples/load_balancer.rs` for a detailed example.